package com.rybbaby.tss.${baseInfo.modulesName}.${baseInfo.entityName?uncapFirst}.service;

<#assign isSet="0"/>
<#list table.columns as column>
<#--上传文件-->
<#if column.ucf??&&isSet=="0">
<#assign isSet="1"/>
import java.io.Serializable;
</#if>
<#if column.datasourceSql??&&column.datasourceSql!="">
import java.util.List;
import java.util.Map;
<#break/>
</#if>
</#list>
import com.rybbaby.tss.core.web.service.IBaseService;
import com.rybbaby.tss.${baseInfo.modulesName}.${baseInfo.entityName?uncapFirst}.entity.${baseInfo.entityName};

/**
 * @description ${baseInfo.businessDescription}数据库操作服务接口
 * 
 * @author ${baseInfo.author}
 * 
 * @createDate ${baseInfo.nowDate}
 */
public interface I${baseInfo.entityName}Service extends IBaseService<${baseInfo.entityName}>{
	
	<#assign isSet="0"/>
	<#list table.columns as column>
	<#if column.datasourceSql??&&column.datasourceSql!="">
	/**
	 * ${column.datasourceName} 数据源
	 * 
	 * @return
	 */
	public abstract List<Map<String , Object>> ${column.columnJavaFieldName?uncapFirst}Datasource();
	</#if>
	<#--上传文件-->
	<#if column.ucf??&&isSet=="0">
	<#assign isSet="1"/>
	/**
	 * @param entity
	 *            实体对象
	 * @param sessionId
	 *            会话Id
	 * @param loginUserId
	 *            等你用户Id
	 * @param fileRelevances
	 *            文件关联设置,格式：groupName1=>fieldName1=cacheFileId1,groupName2=>
	 * @throws Exception
	 */
	public abstract Serializable save(${baseInfo.entityName} entity , String sessionId , String loginUserId , String ... fileRelevances) throws Exception;
	
	/**
	 * @param entity
	 *            实体对象
	 * @param sessionId
	 *            会话Id
	 * @param loginUserId
	 *            等你用户Id
	 * @param fileRelevances
	 *            文件关联设置,格式：groupName1=>fieldName1=cacheFileId1,groupName2=>
	 * @throws Exception
	 */
	public abstract void updateEntitiy(${baseInfo.entityName} entity , String sessionId , String loginUserId ,String delteFileIds , String ... fileRelevances) throws Exception;
	</#if>
	</#list>
}
